Translating events in a user interface

ABSTRACT

Systems and methods for translating events in a high definition video playback system are disclosed. A disc viewer is configured to read at least one user interactive program on a high definition optical disc defining an original menu of a user interface. The user interface defines a plurality of event handlers for user interaction with the user interface. An express menu renderer is configured to generate a menu populated with a plurality of selectable elements that are responsive to interaction with a mouse and/or pointing device. The selectable elements correspond to user interactive features of the user interface and have a corresponding visual identifier.

This is a continuation application of U.S. application Ser. No.12/333,372 filed on Dec. 12, 2008, the disclosure of which isincorporated herein by reference in its entirety.

TECHNICAL FIELD

The present disclosure generally relates to translating events in a userinterface displayed in a high definition video playback system.

BACKGROUND

There are a variety of standards governing the format and/or otherattributes of high definition video. For example, Blu-ray Disc (BD) is apopular optical disc storage media format that is employed for highdefinition video and data storage. Blu-ray Disc Java (BD-J) is adevelopment platform that allows content authors to create andincorporate interactive functionality into a Blu-ray Disc. For example,a content author can incorporate in a user interactive program on aBlu-ray Disc various user interactive menus, games, and otherfunctionality that can be supported by the BD-J specification. To thisend, a content author may define and/or implement various events andevent handlers that allow a user to interact with the user interactiveprogram.

SUMMARY

Included are embodiments for translating user input in a high definitionvideo playback system. At least one embodiment of a method includes amethod for generating an express menu from a high definition opticaldisc in a high definition playback system, the high definition opticaldisc storing an original menu populated with a plurality of userinterface elements in a user interface. The method includes reading auser interactive program stored on the high definition optical disc, theuser interactive program defining the user interface and the originalmenu. The method can further include generating the express menuassociated with the high definition optical disc, the express menugenerated according to the original menu and populated with at least oneselectable element, each selectable element corresponding to at leastone of the user interface elements. The method can also include savingthe express menu for future playback, wherein the express menu isresponsive to at least one of: a mouse and a pointing device.

Also included are embodiments of a system. Some embodiments include asystem for generating an express menu from a high definition opticaldisc in a high definition playback system, the high definition opticaldisc storing an original menu populated with a plurality of userinterface elements in a user interface responsive to a keyboard orremote control. The system can include a disc viewer configured to reada user interactive program stored on the high definition optical disc,the user interactive program defining the user interface and theoriginal menu for user interaction. The system can also include anexpress menu renderer configured to generate the express menu associatedwith the high definition optical disc and to save the express menu forfuture playback, the menu generated according to the original menu andpopulated with at least one selectable element, each selectable elementcorresponding to at least one of the user interface elements, where theexpress menu is responsive to a mouse or a pointing device.

Other embodiments and/or advantages of this disclosure will be or maybecome apparent to one with skill in the art upon examination of thefollowing drawings and detailed description. It is intended that allsuch additional systems, methods, features, and advantages be includedwithin this description and be within the scope of the presentdisclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the present disclosure can be better understood withreference to the following drawings. The components in the drawings arenot necessarily to scale, emphasis instead being placed upon clearlyillustrating the principles of the disclosure. Moreover, in thedrawings, like reference numerals designate corresponding partsthroughout the several views.

FIG. 1 depicts an exemplary embodiment of a high definition videoplayback system;

FIG. 2 depicts a functional block diagram of the high definition videoplayback system of FIG. 1;

FIG. 3 depicts an alternative illustration of the high definition videoplayback system of FIG. 1;

FIG. 4 depicts a networked environment including the high definitionvideo playback system of FIG. 1

FIG. 5A depicts an exemplary user interface defined by a userinteractive program in a high definition video playback system;

FIG. 5B depicts an alternative illustration of the exemplary userinterface of FIG. 4A;

FIG. 6A depicts operation of a disc viewer in accordance with a highdefinition video playback system;

FIG. 6B depicts an alternative illustration of operation of a discviewer in accordance with a high definition video playback system;

FIG. 6C depicts an alternative illustration of operation of a discviewer in accordance with a high definition video playback system;

FIG. 7A depicts an alternative illustration of operation of a discviewer in accordance with a high definition video playback system;

FIG. 7B depicts an alternative illustration of operation of a discviewer in accordance with a high definition video playback system;

FIG. 7C depicts an alternative illustration of operation of a discviewer in accordance with a high definition video playback system;

FIG. 7D depicts an alternative illustration of operation of a discviewer in accordance with a high definition video playback system;

FIG. 7E depicts an alternative illustration of operation of a discviewer in accordance with a high definition video playback system;

FIG. 7F depicts an alternative illustration of operation of a discviewer in accordance with a high definition video playback system;

FIG. 8 depicts a flowchart illustrating operation of an express menurenderer in accordance with the disclosure; and

FIG. 9 depicts a flowchart illustrating operation of an express menuuploader in accordance with the disclosure.

DETAILED DESCRIPTION

Having summarized various aspects of the present disclosure, referencewill now be made in detail to the description of the disclosure asillustrated in the drawings. While the disclosure will be described inconnection with these drawings, there is no intent to limit it to theembodiment or embodiments disclosed herein. On the contrary, the intentis to cover all alternatives, modifications and equivalents includedwithin the spirit and scope of the disclosure as defined by the appendedclaims.

Blu-ray Disc (BD) is one example of an optical storage media format thatis employed for storage and/or playback of high definition video. Inconjunction with the storage and/or playback of high definition video, acontent author may provide one or more user interactive programscontaining user interactive features such as menus, widgets or otheruser interface elements that are executable by a BD player device or BDplayer software. Such user interactive features allow a user to interactwith software residing on a BD disc and executed by a BD player toenhance the viewing experience.

To this end, an author of content stored on a BD disc can define eventsand event handlers corresponding to a particular layout or other userinterface component to create such a user interactive experience. As anon-limiting example, a content author can define a button and/or menuthat respond to user input from a keyboard or remote control. In otherwords, the user interface can respond to or handle an “event” caused byuser input. As a non-limiting example, such an event can include a mouseor keyboard input, selection of a user interface element, or othersimilar event.

Accordingly, the user interface can define one or more event handlersthat execute in response to certain events. Such an event handler canalter a presently displayed user interface, display other user interfacecomponents and/or other content stored on the disc. However, in apersonal computing environment, a user may wish to interact with such auser interface using an input device other than a keyboard or remotecontrol.

As a non-limiting example, the user may wish to interact with the userinterface using a pointing device. Accordingly, the present disclosureprovides systems and methods for generating an additional user interfacecomponent or “express menu” with which a user may interact to causeevent handlers to alter the user interface and/or cause new userinterface components or other content to be displayed. Such an expressmenu can be overlaid onto a user interface defined by a user interactiveprogram stored on a high definition optical disc and allow the user tointeract with the user interface in a high definition video playbacksystem used for playback of Blu-ray Discs or other high definition videosources.

As a non-limiting example, a user may activate an express menu mode thatcauses an express menu to be displayed and/or overlaid on the userinterface. The generated express menu can be populated with selectableelements and/or visual identifiers corresponding to all or substantiallyall user interactive components displayed in a user interface in menuform. Accordingly, a user may interact with items within the expressmenu in order to cause events to be triggered and corresponding eventhandlers defined by the user interface to be executed. Such an expressmenu mode can facilitate interaction with the user interface with amouse or other pointing device, as a user may wish to use such a devicerather than a keyboard or remote control device.

Reference is now made to FIG. 1, which depicts an embodiment of a highdefinition video playback system 100. As illustrated in the non-limitingexample of FIG. 1, the high definition video playback system 100 mayinclude one or more user input devices such as a keyboard, mouse 101,and/or other pointing device. The high definition video playback system100 may also include a display 102 and high definition disc reader 104capable of reading and/or decoding data stored within a high definitiondisc 106. The high definition video playback system 100 may be any typeof computer system configured to receive input from a user such as apersonal computer or a laptop or a digital home television, for example.Rather than a multi-purpose personal computer and/or laptop computer,the high definition playback system 100 may also include a display ortelevision coupled to a specialized high definition optical disc player.

User interactive content may be received by the high definition videoplayback system 100 via the high definition disc reader 104 from a highdefinition disc 106 that can include, but is not limited to, an opticalstorage medium such as a Blu-ray Disc (BD) or HD-DVD. Alternatively, thesystem 100 can receive user interactive content from other sources,including, but not limited to, internal mass storage, a local areanetwork, wide area network such as the Internet, cable televisionservice, over-the-air television service, satellite television service,or other content sources as should be appreciated. The system 100 canrender or display user interactive content and high definition videosources via a disc viewer 108, which can execute and/or display to auser via the display 102 a user interface encoded therein.

The disc viewer 108 can be implemented as a software program configuredto play, read and/or view a high definition disc 106 or other highdefinition video source according to the specifications defined bystandards such as the Blu-ray Disc format specification. The disc viewer108 can also be implemented as a software program residing in thememory, mass storage, a high definition disc 106, a network location, orother location as should be appreciated.

In operation, once a high definition disc 106 or other video source isreceived by the disc viewer 108, the disc viewer 108 can execute and/orrender one or more user interactive programs residing on the highdefinition disc 106 or video source. Such a user interactive program caninclude, but is not limited to, a movie introductory menu or other menusand user interactive features allowing a user to enhance, configure,and/or alter the viewing experience, choose playback configurationoptions, select chapters to view within the high definition disc 106,in-movie user interactive features, games, or other features as shouldbe appreciated.

Reference is now made to FIG. 2, which depicts a functional blockdiagram of a high definition video playback system 100 and an exemplaryembodiment of a disc viewer 108. It should be noted that some componentsnot essential for understanding (by persons skilled in the art) of thehigh definition video playback system 100 and/or disc viewer 108 areomitted for purposes of brevity and ease of depiction. As noted above, adisc viewer 108 can be implemented as a software program that is but onecomponent of a high definition video playback system 100.

The high definition playback system 100 can include an express menurenderer 202, which can generate an express menu by extracting via theextracting module 210 one or more user interface elements from codedefining an original menu from a user interactive program in a highdefinition video source such as a high definition disc 106 or BD disc.The original menu can include various user interface elements displayedon a screen when viewing user interactive features on a high definitionoptical disc. A user interactive program on a high definition opticaldisc populates an original menu with user interface elements associatedwith event handlers and/or other software elements defined by the userinteractive program. Such a user interface created by a content authorfor a high definition disc can instruct the disc viewer 108 how todisplay user interface elements to a user via a display or other meansas well as how to handle user input from a user. In other words, userinterface elements can be defined that are responsive to user input.Therefore, code defining the user interface may define event handlersthat can be executed in response to a user triggering an eventassociated with the various user interface elements. For example, theuser interface may specify a response to an event, which could be theselection of a particular user interface element by the user. Theresponse can take the form of an event handler, such as, whether itincludes display of an additional user interface element, menus, images,video, video content, and other elements on the display 102.

Accordingly, the express menu renderer 202 can extract events and/orevent handlers via extracting module 210 that are associated with userinteractive content in a user interface by the associating module 212 inorder to populate a generated express menu that may differ from anoriginal menu defined on a high definition optical disc. The extractingmodule 210 can also cause extracted event handlers to be stored in anevent pool in a buffer, memory, and/or other storage for to facilitateretrieval by other modules in the express menu renderer 202 or therenderer 202 itself. The express menu renderer 202 can be configured toextract event handlers that are associated with user interface elementsfrom code and/or markup language defining the original menu, userinterface and/or user interactive program.

As a non-limiting example, the renderer 202 can extract an event handlerand generate a selectable element and/or visual identifier associatedtherewith for an express menu. As noted above, the renderer 202 canextract the event handler from code defining the user interface that isassociated with a particular event, such as selection of a displayedbutton. As an additional non-limiting example, the original menu on theoptical disc defines an “audio language” button, a “subtitle language”button and various buttons to change the settings of video/audioplayback and a “setup” button for the higher hierarchical for thosebuttons. If the user wants to change the language of the subtitle asEnglish characters, he needs to trigger the “setup” button. The eventhandler corresponding to the “setup” button is executed to display thelower hierarchical buttons. Further, the user can trigger the “subtitlelanguage” button, and the event handler corresponding to the “subtitlelanguage” will be executed for choosing “English characters” as thedesired setting of the subtitle playback. The renderer 202 can identifyan event handler associated with one or more user interface elements,such as the “setup” button and others defined in the original menu. Therenderer 202 populates an express menu with a selectable element that,when selected by a user, can trigger an event handler defined by theuser interface that is likewise associated with the “setup” button.

The renderer 202 can further extract via the extracting module 210 atextual and/or graphical label from code defining a user interface andassociate it with a visual identifier corresponding to a selectableelement in a generated express menu. As a non-limiting example, therenderer 202 can identify an event handler associated with one or moreuser interface elements associated with a “setup” button, and extract atextual label from code defining a user interface and/or userinteractive program associated with such an event handler. The renderer202 can further populate an express menu item with a selectable elementhaving such an extracted textual identifier. As an additionalnon-limiting example, the renderer 202 can extract an image and/or videoassociated with a “setup” button from code or layout defining the userinterface. The renderer 202 can then generate a graphical identifierincorporating the extracted image and/or video associated with aselectable element in the express menu that is associated with the“setup” button.

An express menu generated by the renderer 202 and overlaid onto a userinterface defined by a user interactive program of a high definitionoptical disc can also be modified by a user according to preferencesand/or desires of the user. As a non-limiting example, the renderer 202may generate an express menu overlaid onto the user interface byextracting events and/or event handlers in the order in which theyappear in the code defining the user interface. Accordingly, therenderer 202 may generate selectable elements in an express menucorresponding to the events and/or event handlers in the same or similarorder. A user may wish to modify the order in which selectable elementsappear in the express menu. As an additional non-limiting example, theuser may wish to alter visual identifiers associated with selectableelements in an express menu that are generated by the renderer 202. Theuser may with to alter an exemplary “setup” textual label associatedwith a selectable element by changing the label to a different textuallabel or even a graphical label.

In addition, a user may associate via the associating module 212 morethan one event handler defined by a user interactive program with aselectable element in an express menu. As a non-limiting example, a usermay define a language selectable element in an express menu that notonly alters an audio language setting, but also alters a subtitlelanguage setting. As an additional non-limiting example, a user maydefine an audio-video quality selectable element in an express menu thatnot only alters video setup of a high definition optical disc, but audiosetup as well. Such selectable elements in an express menu can allow auser to perform multiple tasks with the selection of a single expressmenu element. As an additional non-limiting example, the selectableelement “language” of the express menu is to execute the event handlercorresponding to the “audio language” button and the event handlercorresponding to the “subtitle language” button. The user selects theselectable element “language”, the event handles corresponding to the“audio language” and the “subtitle language” is be executed regardlessthe event handler corresponding to the “setup” button. Such that, theuser would change the settings of audio/subtitle, which arecorresponding to two or more buttons in the original menu, via theselection of one selection element of the express menu.

Accordingly, the high definition playback system 100 can further includean express menu uploader 204 configured to upload a generated and/oraltered express menu to one or more servers or other high definitionplayback system, personal computers or other networked device. Theuploaded express menu can further be indexed by content stored on thehigh definition optical disc. In addition, the express menu uploader 204can store an express menu on storage and/or memory within the highdefinition playback system 100 and index the express menu according tocontent stored on the high definition optical disc. As noted above, agenerated express menu may be configured to be altered by a user bymanipulating the user interface. Accordingly, the express menu uploader204 can upload an altered menu to a server, computer, or other networkedsystem configured to store the altered menu for retrieval by other usersvia a network.

Therefore, as a non-limiting example, a user may view content on a highdefinition optical disc using the high definition playback system 100and the express menu can be located by the searching module 214 and thendownloaded from a server by the express menu receiver 206. Thedownloaded express menu may be overlaid onto the user interface. Inaddition, an express menu can be received by the express menu receiver206 by reader from a local memory, mass storage, and/or the highdefinition optical disc itself. If there exist multiple versions ofaltered express menus that are stored on a server, then the user maychoose a desired express menu by a number of variables which caninclude, but are not limited to, popularity, age, user rating, accuracy,and other variables that should be appreciated. Alternatively, a usermay further alter a downloaded express menu which can be subsequentlyuploaded to a server. In this way, a user may avoid having to alter anexpress menu to suit particular desires and/or preferences by relying onan express menu configuration stored on a server or personal computer.Further, a server or other networked device can maintain a databaseand/or data store of express menu configurations submitted by varioususers connected to a network that can be shared with other userssimilarly connected. Additionally, the editing module 216 can allow auser to edit an express menu, which can be saved by the express menuuploader 204.

The express menu renderer 202 can further disable and/or suppress anexpress menu during certain portions of playback of a high definitionoptical or execution of a user interactive program on a high definitionoptical disc. It should be appreciated that a content author may desireto suppress certain user interactive functionality during certainportions of playback of, for example, a movie. Accordingly, in onenon-limiting example, the express menu renderer 202 can disable certainselectable elements during certain portions of playback of a highdefinition optical disc. Additionally, the express menu renderer 202 candisable rendering of an express menu altogether during certain portionsof playback if user interactive functionality is disabled by the contentauthor.

As a non-limiting example, may theatrical high definition optical discscan contain an anti-piracy warning during which user interactivefunctionality can be disabled. Accordingly, the express menu renderer202 can disable selectable elements of an express menu as well asdisable rendering of the express menu during playback of the anti-piracywarning. Other examples and scenarios in which selectable elements of anexpress menu and/or rendering of the express menu may be disabled shouldbe appreciated. The express menu renderer 202 can therefore actively orpassively determine the playback status of a high definition opticaldisc in order to determine whether to disable selectable elements or theexpress menu. In one embodiment, the express menu renderer 202 canactively query the disc viewer 108 regarding the playback status of ahigh definition optical disc to determine whether disabling and/orsuppression of the express menu is desired. As an alternative example,the express menu renderer 202 can passively receive playback status datafrom the disc viewer 108 to determine whether disabling and/orsuppression of the express menu is desired.

Reference is now made to FIG. 3, which is an exemplary embodiment of thehigh definition video playback system 100 from FIG. 1. For someembodiments, the high definition video playback system 100 may beincorporated as some type of computing device. Generally speaking, thehigh definition video playback system 100 may be any one of a widevariety of wired and/or wireless computing devices, such as a desktopcomputer, portable computer, dedicated server computer, multiprocessorcomputing device and so forth. Irrespective of its specific arrangement,the high definition video playback system 100 may comprise, among othercomponents, a processing device 320, input/output interfaces 320, anetwork interface 340, and a display 102 connected across a data bus312. One of ordinary skill in the art will appreciate that the highdefinition video playback system 100 can, and typically will, compriseother components, which have been omitted for purposes of brevity.

The display 102 can comprise a computer monitor or a plasma screen for aPC or a liquid crystal display (LCD), for example. The processing device320 can include a custom-made or commercially available processor, acentral processing unit (CPU) or an auxiliary processor among severalprocessors associated with the video viewing device 310, a semiconductorbased microprocessor (in the form of a microchip), a macroprocessor, oneor more application specific integrated circuits (ASICs), a plurality ofsuitably configured digital logic gates, and other well known electricalconfigurations comprising discrete elements both individually and invarious combinations to coordinate the overall operation of thecomputing system.

The memory 360 shown in FIG. 3 can include any one of a combination ofvolatile memory elements (e.g., random-access memory RAM, such as DRAM,and SRAM, etc.) and nonvolatile memory elements (e.g., ROM, hard drive,tape, CDROM, etc.). The memory 360 may store a native operating system370, one or more native applications, emulation systems, or emulatedapplications for any of a variety of operating systems and/or emulatedhardware platforms, emulated operating systems, etc. For example, theapplications may include the disc viewer 108. Again, one of ordinaryskill in the art will appreciate that the memory 360 can, and typicallywill, comprise other components, which have been omitted for purposes ofbrevity. The high definition video playback system 100 may furthercomprise mass storage 390. The mass storage 390 may be, for example, adisk drive, flash memory, or any other of a wide variety of storagedevices capable of storing data.

The disc viewer 108 shown in FIG. 2 may be a high definition videosoftware player application used for playing various disc formats suchas DVD, HD-DVD, Blu-ray discs, as well as video retrieved from massstorage 390. As noted in FIG. 2, the high definition playback system 100may include an express menu renderer 202, an express menu uploader 204,and/or an express menu receiver 206. When implemented in software, itshould be noted that any of the above modules can be stored on a varietyof computer-readable medium for use by, or in connection with, a varietyof computer-related systems or methods. In the context of this document,a computer-readable medium may comprise electronic, magnetic, optical,or other physical device or apparatus that can contain or store acomputer program for use by or in connection with a computer-relatedsystem or method. The interface can be embedded in a variety ofcomputer-readable medium for use by, or in connection with, aninstruction execution system, apparatus, or device, such as acomputer-based system, processor-containing system, or other system thatcan fetch the instructions from the instruction execution system,apparatus, or device and execute the instructions.

In the context of this disclosure, a “computer-readable medium” stores,communicates, propagates, or transports the program for use by or inconnection with the instruction execution system, apparatus, or device.The computer readable medium can be, for example, but not limited to, anelectronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, device, or propagation medium. Morespecific examples (a non-exhaustive list) of the computer-readablemedium may include the following: an electrical connection (electronic)having one or more wires, a portable computer diskette (magnetic), arandom access memory (RAM) (electronic), a read-only memory (ROM)(electronic), an erasable programmable read-only memory (EPROM, EEPROM,or Flash memory) (electronic), an optical fiber (optical), a portablecompact disc read-only memory (CDROM) (optical), a digital versatiledisc (optical), a high definition digital versatile disc (optical), anda Blu-ray Disc (optical).

Input/output interfaces 330 comprise any number of interfaces for theinput and output of data. For example, where the high definition videoplayback system 100 comprises a personal computer, the components withinthe system may interface with a user input device such as a keyboard, amouse, or a remote controller. The high definition video playback system100 may also include a network interface 340 for transmitting and/orreceiving data over a network such as video content. As a non-limitingexample, the network interface 340 may include a modulator/demodulator(e.g., a modem), wireless (e.g., radio frequency (RF)) transceiver, atelephonic interface, a bridge, a router, network card, etc.

Reference is now made to FIG. 4, which depicts a non-limiting networkedenvironment 400 including at least one high definition playback systemcoupled to a network via a network interface. The depicted environmentfurther includes at least one server also coupled to the network 406 viaa network interface. In the depicted networked environment, a highdefinition playback system 100 can upload and/or download an expressmenu via the network 406 by communicating with at least one server 408configured to store express menu data.

An express menu can be stored on a server and indexed by data regardinga high definition optical disc. As a non-limiting example, the expressmenu can be indexed by a title, running time, or other such identifyingor fingerprinting data of high definition video and/or a high definitionoptical disc. The express menu can further be stored on a server indexedby a hash code calculated from data on the high definition optical disc.Such identifying information can include, but is not limited to: a movietitle, a tagline, a year of release, a genre, a cast, a director,chapter information, title information, video attributes, audioattributes, and other disc attributes. In addition, the express menu canbe stored without identifying data as a general purpose express menuthat can be used when viewing any high definition optical disc.

The networked environment 100 can further include a high definitionplayback system 100 c coupled to the network 406 by a router 410 orother port forwarding and/or routing device. The depicted servers 408can allow a user of a high definition playback system 100 to download anexpress menu configuration stored thereon. Accordingly, a user mayutilize an express menu configuration stored on a server 408 thatdiffers from an express menu generated by the express menu renderer 202on the user's high definition playback system. In this way, a user maytake advantage of various express menu configurations created by otherusers and uploaded to a server 100 by their respective express menuuploaders 204, thereby taking advantage of an edited express menuwithout having to edit an express menu on the user's high definitionplayback system 100.

Reference is now made to FIGS. 5A and 5B, which depict a non-limitingexemplary user interface 500 a, 500 b that can be defined by a userinteractive program on a high definition disc such as a BD disc. Thedepicted user interface 500 can be rendered by the high definition videoplayback system 100 of FIGS. 1-3 on a display, television or otherdevice employed by a user. In the depicted user interface 500, there area number of user interface elements, such as scene element 502, featureselement 504, and audio setup element 506. The depicted exemplaryelements 502, 504, 506 are selectable, as they can be selected by a userto cause further interaction with a user interactive program of a highdefinition disc.

In other words, in one non-limiting example, the user interface elements502, 504, 506 can be triggered by an event and cause one or more eventhandlers to execute, which can further cause additional user interfaceelements to be rendered other content to be displayed, or other responsethat can be defined by the user interactive program. In other words, acontent author may define one or more events that a user interfaceelement can be responsive to, such as, a pointing device input, keyboardinput, or other executed software code defined in the user interactiveprogram. A content author may additionally define one or more eventhandlers corresponding to user interface elements that can execute inresponse to an event that is triggered.

As a non-limiting example, if a user selects the depicted scene element502 of FIG. 5A by manipulating a keyboard or remote control, eventsand/or event handlers specified by code defining the user interface cancause additional content, menus, video, images to be rendered.Additionally, events and/or event handlers specified by code definingthe user interface can further cause additional and other events orevent handlers defined by the user interface to be triggered. In oneexample, a screen depicting user interface elements allowing a user toselect a scene of content on a high definition optical disc can bedisplayed. Alternatively, if a user selects special features scene 504,event handlers can cause an additional user interface screen to berendered providing a user with additional user interface elements forselecting special features of a high definition optical disc.

Reference is now made to FIG. 5B, which depicts an alternativeillustration of the user interface 500 a of FIG. 5A. In the non-limitingexample of FIG. 5B, audio setup element 506 is shown upon selection by auser via a keyboard or remote control. In response to such an event, anevent handler specified by code defining the user interface 500 b and/oruser interactive program causes additional user interface elements to berendered. In the depicted example, popup audio menu 508 is rendered,which includes additional user interface elements with which a user mayinteract. As noted above, an event handler defined by a user interactiveprogram can trigger additional events and/or event handlers.Accordingly, in the depicted non-limiting example, popup audio menu 508can provide additional user interface menu elements that can beresponsive to additional events trigger by user input. As a non-limitingexample, a user can select stereo user interface element 509, which cancause an event handler to be triggered that in turn causes an audiotrack and/or audio program of the high definition optical disc thatcorresponds to thereto to be selected. Additionally, if a user againselects audio setup element 506, an event handler can cause the popupaudio menu 508 to be collapsed.

With reference to the above examples, it should be appreciated that theuser interface defined by a user interactive program can define variousresponses, events and/or event handlers to any input on a keyboard orremote control. As a non-limiting example, a user interactive programcan define that any user interface element can be selected and/ormanipulated by a user by depressing various keys or causing various userinputs.

Reference is now made the FIG. 6A, which depicts one example ofoperation of the express menu renderer 202 (FIG. 2). As noted above, acontent author of high definition video content such as a BD disc maydefine a user interactive program that further defines a user interfaceusing various code and/or markup language. As a non-limiting example, acontent author may define a user interactive program on a BD disc withthe BD-J language. Accordingly, the express menu renderer 202 canextract from such code and/or markup language information correspondingto events and/or event handlers in order to populate an express menu 602a. The depicted user interface 600 a corresponds to the aboveillustrated non-limiting example of user interface 500 a (FIG. 5), andthe operation of an express menu renderer 202 therein.

In the depicted example, a user may activate an express menu mode, whichcauses the express menu renderer 202 to generate and overlay onto theuser interface 600 a an express menu 602 a. As noted above, the expressmenu renderer 202 can extract events and/or event handlers from codedefining the user interface in order to populate the menu 602 withselectable elements 610. The express menu renderer 202 can extractevents and/or event handlers which are responsive to user input. Suchuser input can be received via a keyboard, pointing device, remotecontrol device, voice-activated input, motion-sensitive input, or otherinput device. As a non-limiting example, a user can activate an expressmenu mode by selecting a menu element from a title-bar menu generated bythe high definition playback system 100 (FIG. 1).

In the depicted non-limiting express menu 602 a, the express menurenderer 202 populates the express menu 602 a with selectable elementsextracted from the various selectable user interface elements defined bythe user interactive program and/or user interface. Accordingly, theexpress menu renderer 202 also extracts a textual and/or visualidentifier associated with the selectable user interface elementsdefined by the user interactive program that it can apply to selectableelements populated in an express menu. As a non-limiting example, thedepicted menu 602 a includes selectable elements 610 corresponding tothe various user interface elements defined by a user interactiveprogram on a high definition optical disc. The express menu renderer 202populates the menu 602 a with a selectable scene selection menu item 610a corresponding to scene selection element 502. Likewise, the expressmenu renderer populates the menu 602 a with a selectable specialfeatures menu item 610 b corresponding to special features element 504,and so forth for additional user interface elements that are responsiveto user input.

Upon activation of an express menu mode, the depicted non-limitingexpress menu 602 a is responsive to user input via various user inputdevices as noted above. In the non-limiting illustration of FIG. 6A, theexpress menu 602 a is responsive to pointing device input, and a usermay select various menu items 610 by manipulating a pointing device andits buttons.

Reference is now made the FIG. 6B, which depicts an additional exampleof operation of the express menu renderer 202 (FIG. 2). In depicted userinterface 600 b an express menu mode has been activated which causes anexpress menu 602 b to be generated and overlaid onto the user interface600 b. The depicted user interface 600 b corresponds to the abovenon-limiting example of user interface 500 b (FIG. 5). In the depictednon-limiting example, audio setup menu item 610 c is selected by a user,which causes a nested audio menu 612 to be generated that corresponds tothe above popup audio menu 508 (FIG. 5). Accordingly, the express menurenderer 202 is configured to generated nested menus that correspond topopup menus or nested menus defined by the user interactive program of ahigh definition optical disc. Additionally, if an event corresponding toan event handler causes user interface elements such as an additionalmenu to be generated, such nested menus can be utilized.

Reference is now made to FIG. 6C, which depicts an additionalnon-limiting example of operation of the express menu renderer 202 (FIG.2). In the depicted user interface 600 c, video content of a highdefinition disc can be rendered in a video window 650. Accordingly, theexpress menu render 202 can render an express menu 602 c in variouslocations relative to the video window 650. In other words, the expressmenu 602 c may not be overlaid onto video content of a high definitiondisc. The location of the express menu 602 c can be configured by a userand/or predefined by the disc viewer 108 (FIG. 2) or express menurenderer 202. Additionally, the disc viewer 108 can render an expressmenu 602 c and resize the video window 650 when an express menu mode isactivated by a user. Upon selection or an express menu selectableelement or upon deactivation of an express menu mode, the disc viewer108 and/or express menu renderer 202 can remove the express menu 602 cfrom view and/or maximize or enlarge the video window 650 within theuser interface 600 c.

Reference is now made to FIG. 7, which depicts an example of operationof the express menu renderer 202 (FIG. 2) as well as the express menuuploader 204 (FIG. 2). As noted above, the express menu uploader canallow a user to alter an express menu 702 generated by the express menurenderer 202, which can in turn be uploaded to a server or computer viaa network or stored on mass storage or other memory of a high definitionplayback system 100. Additionally, an altered express menu 702 can bestored on the high definition optical disc. Because the express menurenderer 202 extracts selectable elements for a generated express menu702 by accessing source code and/or markup language defining a userinteractive program and/or user interface, visual identifiers generatedby the express menu renderer 202 may not suit a user's desires and/orpreferences.

Accordingly, a user may choose to alter the visual identifier associatedwith a menu item. In the depicted non-limiting exemplary user interface700 a, a user may choose to alter the depicted textual identifierassociated with special features menu item 710. Accordingly, a user mayedit the field by selecting the non-limiting exemplary edit field 711selectable element.

Reference is now made to FIG. 7B, which depicts an alternativeillustration of the user interface 700 a of FIG. 7A. FIG. 7B depicts anon-limiting exemplary user interface 700 b upon editing by a user. Inthe depicted non-limiting example, a user has altered special featuresmenu item of an express menu 702. Accordingly, a user may save themodification by selecting the non-limiting exemplary save field 713selectable element. Such an action can cause the express menu uploader204 (FIG. 2) to save and/or upload the user modified express menuconfiguration to a server or computer via a network and/or store themodified express menu configuration to mass storage or other memoryaccessible by the high definition playback system 100 (FIG. 1) forretrieval by the express menu renderer 202. In addition, the expressmenu uploader 204 may also store the express menu configuration on ahigh definition optical disc for later retrieval by the express menurenderer 202.

Reference is now made to FIG. 7C, which depicts an alternativeillustration of operation of the express menu renderer 202 (FIG. 2). Inthe depicted user interface 700 c, an express menu 702 rendered by theexpress menu renderer 202 and/or disc viewer 108 (FIG. 2) can be furtherconfigurable by a user. In the depicted example, an express menu, aselected menu item can be moved if move field item 717 is selected.Accordingly, the express menu renderer 702 allow a user to move an itemto another location of the displayed express menu 702. As a non-limitingexample, a user may move a menu item to a different location within thesame menu or in different locations in submenus and/or parent menus.Additionally, the express menu renderer 202 may also provide the abilityto copy and paste menu items.

In the depicted example, a user may move AC-3 element 719 to a differentlocation in the express menu 702 by selecting move field item 717.Accordingly, reference is now made to FIG. 7D, which depicts userinterface 700 d. User interface 700 d illustrates one non-limitingexample of the above noted move item functionality employed by theexpress menu renderer 202 and/or disc viewer 108. In the depictednon-limiting example, a user can move the AC-3 element 719 to a parentmenu 710, and the express menu renderer 202 can re-render the expressmenu 702 accordingly.

Reference is now made to FIG. 7E, which depicts an alternativeillustration of operation of the express menu renderer 202 (FIG. 2). Inthe depicted user interface 700 e, a user may select create item 721,which can allow a user to create a menu item that can be rendered in theexpress menu 702. In this way, the disc viewer 108 (FIG. 2) and expressmenu renderer 202 can facilitate further customization of an expressmenu 702 within a user interface 700 e that is generated by the discviewer 108 and renderer 202 by allowing a user to create customized menuhierarchies and/or groups containing various menu items desired by theuser. In other words, the express menu renderer 202 can allow a user tocreate a user defined menu hierarchy containing selectable elementscorresponding to selectable elements within the user interface 700 e.

In the depicted example, a user may create a menu item by selectingcreate item 721. Accordingly, reference is now made to FIG. 7F, whichdepicts user interface 700 f, which includes a user created menu item723. A user created menu item 723 can include a menu item that triggersevents or execution of event handlers defined by the user interface 700f of a high definition disc. Alternatively, the user created menu item723 can include a group of various menu items. In other words, the usercreated menu item 723 can include a folder that stores other menu itemsand/or subfolders.

With reference to the above exemplary user interfaces, it should againbe noted that the above examples are merely exemplary, and that varioususer interfaces can be defined by a user interactive programaccompanying high definition video on a high definition optical disc.Various user interface elements, including images, buttons, menus, videoand other elements can be defined by a user interactive program and beresponsive to various events caused by a user via event handlers. Inaddition, user interfaces defined by a user interactive program candefine various responses, events and/or event handlers to any input on akeyboard, remote control or any input device.

Reference is now made to FIG. 8, which depicts one example of theexecution of the express menu renderer 202 (FIG. 2). The flow chart mayalso be viewed as depicting a method in accordance with the disclosure.First, in box 805, it is determined whether an express menu mode isactivated. If an express menu mode is activated by a user, then anexpress menu should be rendered. Accordingly, in box 806, it isdetermined whether an express menu configuration can be downloaded,retrieved, and/or received by the express menu receiver 206 in box 808.

If an express menu cannot be downloaded, retrieved, and/or received,then in box 810, the express menu renderer 202 can read and/or execute auser interactive program stored on the high definition optical disc. Inbox 812, an express menu can be generated and populated with at leastone selectable element. In box 814, event handlers can be extracted fromcode and/or markup language defining a user interface and/or userinteractive program. Next, in box 816, event handlers extracted from theuser interface can be associated with selectable elements of a generatedexpress menu. Next, in box 818, the express menu can be displayed forinteraction with a user.

Reference is now made to FIG. 9, which depicts one example of theexecution of the express menu uploader 204 (FIG. 2). The flow chart mayalso be viewed as depicting a method in accordance with the disclosure.First, in box 902, it is determined whether a user has altered anexpress menu overlaid onto a user interface. Then, in box 904, thealtered express menu configuration is uploaded to a server, computer orother high definition playback system 100 (FIG. 1). In addition, thealtered express menu configuration can also be stored on mass storage orother memory of a high definition playback system as well as on a highdefinition optical disc.

Although the functionality of various components are described abovewith respect to FIGS. 1-9 as being embodied in software or code executedby general purpose hardware as discussed above, as an alternative thesame may also be embodied in dedicated hardware or a combination ofsoftware/general purpose hardware and dedicated hardware. If embodied indedicated hardware, the functionality of these components can beimplemented as a circuit or state machine that employs any one of or acombination of a number of technologies. These technologies may include,but are not limited to, discrete logic circuits having logic gates forimplementing various logic functions upon an application of one or moredata signals, application specific integrated circuits havingappropriate logic gates, programmable gate arrays (PGA), fieldprogrammable gate arrays (FPGA), or other components, etc. Suchtechnologies are generally appreciated by those skilled in the art and,consequently, are not described in detail herein.

The flow charts of FIGS. 8-9 show the functionality and operation of animplementation of the high definition video playback system 100 andsystems therein. If embodied in software, each block may represent amodule, segment, or portion of code that comprises program instructionsto implement the specified logical function(s). The program instructionsmay be embodied in the form of source code that comprises human-readablestatements written in a programming language or machine code thatcomprises numerical instructions recognizable by a suitable executionsystem such as a processor in a computer system or other system. Themachine code may be converted from the source code, etc. If embodied inhardware, each block may represent a circuit or a number ofinterconnected circuits to implement the specified logical function(s).

Although the flow charts of FIG. 8-9 show a specific order of execution,it is understood that the order of execution may differ from that whichis depicted. For example, the order of execution of two or more blocksmay be scrambled relative to the order shown. Also, two or more blocksshown in succession in FIGS. 8-9 may be executed concurrently or withpartial concurrence. In addition, any number of counters, statevariables, warning semaphores, or messages might be added to the logicalflow described herein, for purposes of enhanced utility, accounting,performance measurement, or providing troubleshooting aids, etc. It isunderstood that all such variations are within the scope of the presentdisclosure.

It should be emphasized that the above-described embodiments of thepresent disclosure are merely possible examples of implementations setforth for a clear understanding of the principles of the disclosure.Many variations and modifications may be made to the above-describedembodiment(s) without departing substantially from the spirit andprinciples of the disclosure. All such modifications and variations areintended to be included herein within the scope of this disclosure andprotected by the following claims.

Therefore, the following is claimed:
 1. A method for generating anexpress menu from a high definition optical disc in a high definitionplayback system, the high definition optical disc storing an originalmenu populated with a plurality of user interface elements in a userinterface, the method comprising: reading a user interactive programstored on the high definition optical disc, the user interactive programdefining the user interface and the original menu; extracting aplurality of event handlers from code defining the user interactiveprogram, the event handlers associated with the user interface elementsof the original menu; associating at least one selectable element withat least one event handler; generating the express menu according to theoriginal menu associated with the high definition optical disc, theexpress menu populated with the at least one selectable element; anddisplaying both the original menu and the express menu, the express menucomprising all of the same selectable elements as the original menu,wherein the express menu is responsive to an input device other than aninput device used to interact with the original menu.
 2. The method ofclaim 1, wherein the express menu is overlaid on the original menu. 3.The method of claim 1, further comprising executing the event handlercorresponding to the selectable element upon selection of the selectableelement.
 4. The method of claim 1, wherein the saving step furthercomprises: locating identifying data associated with the high definitionoptical disc; and saving the express menu with the identifying data,wherein the identifying data is at least one of: a movie title, atagline, a year of release, a genre, a cast, a director, chapterinformation, title information, video attributes, audio attributes, anddisc attributes.
 5. The method of claim 4, further comprises:determining the identifying data within the express menu in a storagecorresponding to the high definition optical disc; and retrieving theexpress menu associated with the high definition optical disc from thestorage.
 6. The method of claim 1, wherein the express menu isresponsive to at least one of: a mouse and a pointing device.
 7. Themethod of claim 1, further comprising each of: assigning a correspondingvisual identifier to the selectable element; arranging a correspondingrelative location of the selectable element in the express menu; andarranging a predetermined location of the express menu.
 8. The method ofclaim 7, wherein the corresponding visual identifier is at least one of:a textual label extracted from code defining the event handlers in theuser interactive program; and a graphical label generated from at leastone image associated with the event handlers as defined by the userinteractive program, wherein the textual label and the graphical labelare modifiable by a user.
 9. The method of claim 1, further comprisinguploading the express menu to a server configured to receive the expressmenu associated with the high definition optical disc.
 10. The method ofclaim 1, wherein the generating step further comprises at least one of:generating a new selectable element; generating a folder containing atleast one selectable element; and generating a sub-folder contained bythe folder.
 11. The method of claim 1, further comprising the step ofdisabling at least one of the selectable elements during playback of aportion of the high definition optical disc if the user interactiveprogram does not allow execution of a corresponding event handler duringthe portion of the high definition optical disc.
 12. A system forgenerating an express menu from a high definition optical disc in a highdefinition playback system, the high definition optical disc storing anoriginal menu populated with a plurality of user interface elements in auser interface responsive to a keyboard or remote control, the systemcomprising: a disc viewer configured to read a user interactive programstored on the high definition optical disc, the user interactive programdefining the user interface and the original menu for user interaction;an extracting module configured to extract a plurality of event handlersfrom code defining the user interactive program, the event handlersassociated with the user interface elements of the original menu; anexpress menu renderer configured to generate the express menu accordingto the original menu associated with the high definition optical disc,the express menu generated having at least one selectable elementassociated with at least one of the event handlers, the express menurenderer further configured to display both the original menu and theexpress menu, the express menu comprising all of the same selectableelements as the original menu; wherein, the express menu is responsiveto an input device other than an input device used to interact with theoriginal menu.
 13. The system of claim 12, wherein the express menu isoverlaid on the original menu.
 14. The system of claim 12, furthercomprising: a menu uploader configured to upload the express menu to aserver configured to receive the express menu associated with the highdefinition optical disc; and a menu receiver configured to receive theexpress menu associated with the high definition optical disc from astorage.
 15. The system of claim 14, wherein the express menu rendererfurther comprises a searching module configured to search identifyingdata associated with the high definition optical disc, wherein theidentifying data is at least one of: a movie title, a tagline, a year ofrelease, a genre, cast, director, chapter information, titleinformation, video attributes, audio attributes, and disc attribute. 16.The system of claim 15, wherein the express menu renderer is furtherconfigured to: associate the express menu with the identifying data; andsave the express menu with the identifying data.
 17. The system of claim16, wherein the menu receiver is further configured to determine theidentifying data within the express menu in the storage corresponding tothe high definition optical disc.
 18. The system of claim 12, whereinthe express menu renderer further comprises an editing module configuredto edit the express menu and the selectable element of the express menu.19. The system of claim 18, wherein the editing module is furtherconfigured to perform each of: designate at least one of event handlersto the selectable element; assign a corresponding visual identifier tothe selectable element; arrange a corresponding relative location of theselectable element in the express menu; and arrange a predeterminedlocation of the express menu.
 20. The system of claim 19, wherein thecorresponding visual identifier is at least one of: a textual labelextracted from code defining the event handlers in the user interactiveprogram; and a graphical label generated from at least one imageassociated with the event handlers as defined by the user interactiveprogram, wherein the textual label and the graphical label aremodifiable by a user.
 21. The system of claim 12, wherein the expressmenu renderer further executes the event handler corresponding to theselectable element upon selection of the selectable element.
 22. Thesystem of claim 12, wherein the express menu renderer is furtherconfigured to generate at least one of a new selectable element and afolder containing at least one selectable element.
 23. The system ofclaim 12, wherein the express menu renderer is further configured todisable at least one of the selectable elements during playback of aportion of the high definition optical disc if the user interactiveprogram does not allow execution of a corresponding event handler duringthe portion of the high definition optical disc.
 24. A non-transitorycomputer-readable medium having a computer program for generating anexpress menu from a high definition optical disc in a high definitionvideo playback system, the high definition optical disc storing anoriginal menu populated with a plurality of user interface elements in auser interface responsive to a keyboard or remote control, the mediumcomprising: logic for reading a user interactive program stored on thehigh definition optical disc, the user interactive program defining theuser interface and the original menu; logic for extracting a pluralityof event handlers from code defining the user interactive program, theevent handlers associated with the user interface elements of theoriginal menu; logic for associating at least one selectable elementwith at least one event handler; logic for generating the express menuaccording to the original menu associated with the high definitionoptical disc, the express menu populated with the at least oneselectable element; and logic for displaying both the original menu andthe express menu, the express menu comprising all of the same selectableelements as the original menu, wherein the express menu is responsive toan input device other than an input device used to interact with theoriginal menu.
 25. The computer readable medium of claim 24, furthercomprising logic for receiving the express menu associated with the highdefinition optical disc from at least one storage.
 26. The computerreadable medium of claim 24, further comprising logic for editing theexpress menu.
 27. The computer readable medium of claim 24, furthercomprising logic for uploading the express menu to a server configuredto receive the express menu associated with the high definition opticaldisc.